package paint2.ui.ventanas;

import paint2.infraestructura.RepositorioDeFiguras;
import paint2.modelo.Figura;
import paint2.ui.Menu;

public class VentanaAbrir implements Ventana {

    private final VentanaPrincipal ventanaPrincipal;

    public VentanaAbrir(VentanaPrincipal ventanaPrincipal) {
        this.ventanaPrincipal = ventanaPrincipal;
        this.abrir(new RepositorioDeFiguras());
    }

    public void agregar(Menu menu) {
    }

    private void abrir(RepositorioDeFiguras figuras) {

        String nombreDeDibujo = Dialogo.pintarDesplegable("Abrir", "Seleccione el dibujo para abrir", figuras.dibujos());

        if (hayEscrito(nombreDeDibujo)) {
            dibujaLasFiguras(figuras, nombreDeDibujo);
        }
    }

    private void dibujaLasFiguras(RepositorioDeFiguras figuras, String nombreDeDibujo) {
        for (Figura figura : figuras.obtener(nombreDeDibujo)) {
            this.ventanaPrincipal.obtenerSuperficiePintable().pintarUna(figura);
        }
    }

    private boolean hayEscrito(String nombreDeDibujo) {
        return nombreDeDibujo != null;
    }
}
